home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-08-10 | 2.3 KB | 97 lines | [TEXT/MPS ] |
- (*
- File: Timer.mod
-
- Contains: Sound.Time Manager interfaces.
-
- Version: Technology: System 7.5
- Package: Universal Interfaces 2.0 in “MPW Latest” on ETO #17
-
- Copyright: © 1984-1995 by Apple Computer, Inc.
- All rights reserved.
-
- Bugs?: If you find a problem with this file, use the Apple Bug Reporter
- stack. Include the file and version information (from above)
- in the problem description and send to:
- Internet: apple.bugs.applelink.apple.com
- AppleLink: APPLE.BUGS
-
- *)
-
- (*$TAGS-*)
- (*$CALLING PASCAL*)
- MODULE Timer;
-
- IMPORT SYSTEM, Types, OSUtils;
-
- (* $PUSH*)
- (* $ALIGN MAC68K*)
- (* $LibExport+*)
-
- CONST
- (* high bit of qType is set if task is active *)
- kTMTaskActive* = ASH(1,15);
-
-
- TYPE
- TMTaskPtr* = POINTER TO TMTask;
-
- (*
- TimerProcPtr uses register based parameters on the 68k and cannot
- be written in or called from a high-level language without the help of
- mixed mode or assembly glue.
-
- In:
- => tmTaskPtr A1.L
- *)
- TimerProcPtr* = Types.Register68kProcPtr; (* register PROCEDURE Timer*(tmTaskPtr: Timer.TMTaskPtr); *)
- TimerUPP* = Types.UniversalProcPtr;
-
- TMTask* = RECORD
- qLink*: OSUtils.QElemPtr;
- qType*: INTEGER;
- tmAddr*: TimerUPP;
- tmCount*: LONGINT;
- tmWakeUp*: LONGINT;
- tmReserved*: LONGINT;
- END;
-
-
- PROCEDURE InsTime*(tmTaskPtr: OSUtils.QElemPtr);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $A058;
- (*$END*)
- PROCEDURE InsXTime*(tmTaskPtr: OSUtils.QElemPtr);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $A458;
- (*$END*)
- PROCEDURE PrimeTime*(tmTaskPtr: OSUtils.QElemPtr; count: LONGINT);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $201F, $205F, $A05A;
- (*$END*)
- PROCEDURE RmvTime*(tmTaskPtr: OSUtils.QElemPtr);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $A059;
- (*$END*)
- PROCEDURE Microseconds*(VAR microTickCount: Types.UnsignedWide);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $A193, $225F, $22C8, $2280;
- (*$END*)
- CONST
- uppTimerProcInfo* = $0000B802; (* Register PROCEDURE (4 bytes in A1); *)
-
- PROCEDURE NewTimerProc*(userRoutine: TimerProcPtr): TimerUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE CallTimerProc*(tmTaskPtr: TMTaskPtr; userRoutine: TimerUPP);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL ; (*••*)
- (*To be implemented: Glue to move parameters into registers.*)
- (*$END*)
-
- (* $ALIGN RESET*)
- (* $POP*)
-
- END Timer.
-